SPSS OMS 教程 - 从输出创建数据
作者:Ruben Geert van den Berg,发布于 SPSS A-Z
SPSS OMS (Output Management System,输出管理系统) 可以将您的输出转换为 SPSS 数据集。正如我们稍后将演示的那样,这可以为您节省大量的时间、精力和挫败感。
我们建议您下载并打开 course_evaluation.sav 并跟随本教程操作。该数据集的部分内容如下所示。
今天的挑战
某个客户希望看到 图表,其中包含 q2 到 q6 与 q1 之间,针对每个专业(心理学、人类学)分别计算的相关性,如图所示。这种需求在市场调查中并不少见,通常会让新手 SPSS 用户:
- 惊慌失措;
- 在 SPSS 中运行相关性分析;
- 将所有内容复制/粘贴到 Excel 表格中;
- 逐个生成图表。
许多 SPSS 用户不知道,有一种更快的方法可以完成这项工作。它被称为 OMS(Output Management System,输出管理系统)。
步骤 1:拆分文件 (Split File)
通常,我们总是从例行的数据检查开始,但在这里我们已经为您完成了这一步。现在,快速运行所需相关性分析的方法是使用 SPLIT FILE (拆分文件) 命令。 下面的 语法 展示了如何做到这一点。
***1. Split file by study major (pyschology and so on).
**
sort cases by major.
split file by major.
***2. Show only variable labels in output table.
**
set tvars labels.
***3. Create correlation table.
**
correlations q2 to q6 with q1.
结果
步骤 2:OMS 控制面板 (OMS Control Panel)
好的,我们已经创建了相关性分析,但它们在我们的 输出查看器窗口 (output viewer window) 中。我们无法从输出窗口中的表格创建图表,因此我们需要将此相关性表放在 数据视图 (data view) 中。
我们将通过导航到 U tilities (实用工具) O MS Control Panel (OMS 控制面板) 来做到这一点,如下所示。
我们将按照屏幕截图中的步骤操作:我们在对话框的左半部分选择相关性表。
最佳实践是在此处始终指定一个 I D (标识符)。在本例中,“corid” 是 “correlation id” (相关性标识符) 的缩写。
然后,我们在对话框的右半部分选择 N ew Dataset (新建数据集)。“cords” 是 “correlation dataset” (相关性数据集) 的缩写。
单击 P aste (粘贴) 会触发一个弹出对话框,确认我们的 OMS 请求。只需忽略它即可。
单击 O k (确定) 然后生成以下语法的第一部分。然后,我们(手动)向其添加了两行。
SPSS OMS 语法示例
***1. OMS syntax generated by SPSS menu.
**
DATASET DECLARE cords.
OMS
/SELECT TABLES
/IF COMMANDS=['Correlations']
SUBTYPES=['Correlations']
/DESTINATION FORMAT=SAV
NUMBERED=TableNumber_
OUTFILE='cords'
/TAG='corid'.
***2. (Manually added) correlations command.
**
correlations q2 to q6 with q1.
***3. (Manually added) omsend command.
**
omsend tag = ['corid'].
SPSS OMS 语法 - 它如何工作?
下图解释了我们的语法如何工作。简而言之,
- OMS 命令让 SPSS 监视其后的选定输出;
- 我们的相关性表被 OMS 捕获;
OMSEND
然后停止 SPSS 监视输出并创建我们所需的相关性数据集。
结果
现在,我们在 SPSS 数据集中有了相关性矩阵,这使我们可以在其上运行图表。在这样做之前,我们将使用以下语法对这些数据进行少量准备。
***1. Activate newly created correlations dataset.
**
dataset activate cords.
***2. Delete all rows that don't hold correlations.
**
select if char.index(var3,'Pearson') > 0.
execute.
***3. Split file by var1 (= study major).
**
sort cases by var1 howdoyouratethiscourse.
split file by var1.
步骤 3:创建图表
现在,我们将按照下图创建所需的图表。由于我们使用的是 SPLIT FILE (拆分文件),因此我们只需要 一个命令就可以一次创建所有图表。
在第二个对话框(如下)中,为您的图表选择一个好的主标题。我们决定使用 “Correlations with Course Rating” (课程评分的相关性)。
按照这些步骤操作会生成以下语法。运行它会生成所有所需的图表。
SPSS 条形图语法示例
***Create actual charts.
**
GRAPH /BAR(SIMPLE)=VALUE(Howdoyouratethiscourse) BY Var2/title 'Correlations
with Course Rating'.
步骤 4:美化我们的图表
现在我们有了想要的图表。一个 轻松美化它们 的好技巧是为它们创建一个图表模板。
我们双击其中一个图表并将其转置,如下所示。
接下来,我们更改第一个图表的颜色、字体、布局,直到看起来不错。然后导航到 F ile (文件) S ave Chart Template (保存图表模板),如 SPSS 图表模板中所述。
SPSS - 创建漂亮的图表
最后,我们激活刚刚创建的图表模板(下面的步骤 3,首先正确设置 .sgt 文件的路径)。然后,我们重新运行之前粘贴和运行的 GRAPH 命令,然后 - 就完成了 - 在瞬间创建了五个漂亮的图表。
如果您遇到类似的不同数据请求,现在可以对其重新运行语法,并且您将在几秒钟内完成。作为奖励,您还可以(编辑并)将图表模板重新用于其他条形图。
使用图表模板的最终语法
***1. Apply variable label (shows up in chart subtitle).
**
variable labels var1 "Study Major".
***2. Suppress excessive decimal places.
**
formats howdoyouratethiscourse (f1).
***3. Activate newly created chart template (set path appropriately).
**
set ctemplate 'my-project-folder\my-template.sgt'.
***4. Rerun all graphs at once with chart template.
**
GRAPH /BAR(SIMPLE)=VALUE(Howdoyouratethiscourse) BY Var2/title 'Correlations
with Course Rating'.
***5. Switch off chart template for any future graphs.
**
set ctemplate none.
最终结果
最终说明
SPSS OMS 可以节省大量时间。今天的教程将单个相关性表重定向到 SPSS 数据集,但您可以非常 轻松地创建一个包含 1,000 个或更多输出表的输出的数据集。实际上,我们在解释 ANOVA (方差分析)、regression (回归) 和 chi-square test (卡方检验) 背后的基本思想时所展示的模拟研究中,就是这么做的。在这些研究中,我们基本上:
- 使用一个 OMS 命令来捕获所有 ANOVA 表;
- 从总体数据文件中对 1,000 个随机样本运行 ANOVA;
- 运行
OMSEND
以创建一个包含 1,000 个 F 值的数据集; - 创建一个直方图来可视化我们的 sampling distribution (抽样分布)。
正如我们所见,SPSS OMS 开辟了许多可能性。我们希望它也能帮助您节省时间和精力!